跳到主要内容

useLayoutEffect

useLayoutEffect 是 useEffect 的一个版本,在浏览器重新绘制屏幕之前触发。

陷阱,最好禁止使用 useLayoutEffect 可能会影响性能。尽可能使用 useEffect。

import { useState, useRef, useLayoutEffect } from "react";

function Tooltip() {
const ref = useRef(null);
const [tooltipHeight, setTooltipHeight] = useState(0);

useLayoutEffect(() => {
const { height } = ref.current.getBoundingClientRect();
setTooltipHeight(height);
}, []);
}